1. Field of the Invention
The invention relates in general to video processing, and in particular, to a method, a video encoder, and an integrated circuit for detecting non-rigid body motion.
2. Description of the Related Art
Block-based video coding standards such as MPEG 1/2/4 and H.26x achieve data compression by reducing temporal redundancies between video frames and spatial redundancies within a video frame.
Each video frame comprises an array of pixels. A macroblock (MB) is typically composed of 16×16 pixels, and a coding unit can be a complete MB or sub-partitioned blocks such as 16×8, 8×16, 8×8, 8×4, 4×8, or 4×4. It is common to estimate movement of an image between frames on a block basis, referred to as motion estimation. Motion estimation typically comprises comparing a macroblock in the current frame to a number of macroblocks from reference frames for similarity. The displacement between the macroblock in the current video frame and the most similar macroblock in the reference frames is represented by a motion vector (MV). The most similar macroblock in the reference video frame is referred to as the best matched block.
FIG. 1 depicts the process of motion estimation, where 1a is a current video frame and 1b is a previous (reference) video frame. Motion estimation involves searching object 10a of a current video frame 1a in a search window SW of a previous video frame 1b to find a best matched object 10b. The spatial displacement from object 10a to 10b is the motion vector.
Motion estimation is typically performed to determine the best matched block in the reference frame, i.e., the MB with smallest residue. However, in applications such as video tracking and frame rate conversion (FRC), it is more important to find “true motion” rather than the best matched block. For example, when applying motion estimation for a non-rigid-body such as flames or flags, the object under estimation has little or no correlation to anywhere in the reference video frame, thus the video encoder cannot produce accurate estimation for the true motion of the object. Further, the inaccurately estimated MV for the non-rigid-body causes interpolation error in frame rate conversion applications. Thus, a need exists for a method and an integrated circuit to produce accurate motion estimation for a non-rigid body motion.